import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;



public class Periodique implements Serializable  {

	
	// ************************************************************************************************************
	// Attributs
	// ************************************************************************************************************
	private String _issn;
	private String _nom;
	
	//Attributes d'assoc
	private HashMap<String, Parution> _parutions;
		
	
	// ************************************************************************************************************
	// Constructeur
	// ************************************************************************************************************
	
	public Periodique(String issn, String nom) {

		this.setIssn(issn);
		this.setNom(nom);
		this.setParutions(new HashMap<String, Parution>());
	}
	
	// Fin Constructeur
	
	// ************************************************************************************************************
	// Méthodes privées
	// ************************************************************************************************************
		
	// ------------------------------------------------------------------------------------------------------------
	// Affecteurs
	
	public void setIssn(String issn) {
		_issn=issn;
	}
	
	public void setNom(String nom) {
		_nom=nom;
	}
	
	public void setParutions(HashMap<String, Parution> parutions) {
		_parutions = parutions;
	}
	
	// ------------------------------------------------------------------------------------------------------------
	// Accesseurs
	
	public String getIssn() {
		return _issn;
	}
	
	public String getNom() {
		return _nom;
	}
	
	/**
	 * getter d'une parution
	 * @param numPar
	 * @return une parution
	 */
	
	public Parution getParution(String numPar) {
		return _parutions.get(numPar);
	} 
	
	/**
	 * getter de l'ensemble des parutions.
	 * @return une collection de parutions
	 */
	public Collection<Parution> getParutions() {
		return _parutions.values();
	}

	/**
	 * getter du nombre de parutions du périodique.
	 * @return un entier représentant le nombre de parutions
	 */
	public int getNbParutions() {
		return _parutions.size();
	}

	public void addParution(String s,Parution par) {
		// TODO Auto-generated method stub
		_parutions.put(s, par);
	}
}
